home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc871.txt < prev    next >
Text File  |  1994-08-01  |  74KB  |  1,583 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. ---------
  7.  
  8.  
  9.      < INC-PROJECT, MAP-PERSPECTIVE.NLS.14, >, 12-Aug-83 11:34 AMW
  10.      ;;;;
  11.      
  12.      
  13.  
  14.  
  15.  
  16.      RFC 871                                            September 1982
  17.                                                                 M82-47
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                A PERSPECTIVE ON THE ARPANET REFERENCE MODEL
  26.      
  27.  
  28.  
  29.  
  30.      
  31.      
  32.  
  33.      
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.                               M.A. PADLIPSKY
  48.                            THE MITRE CORPORATION
  49.                           Bedford, Massachusetts
  50.      
  51.      
  52.  
  53.  
  54.  
  55.                                  Abstract
  56.      
  57.  
  58.      
  59.  
  60.           The paper, by one of its developers, describes the
  61.      conceptual framework in which the ARPANET intercomputer
  62.      networking protocol suite, including the DoD standard
  63.      Transmission Control Protocol (TCP) and Internet Protocol (IP),
  64.      were designed.  It also compares and contrasts several aspects of
  65.      the ARPANET Reference Model (ARM) with the more widely publicized
  66.      International Standards Organization's Reference Model for Open
  67.      System Interconnection (ISORM).
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.                                      i
  109.           
  110.      
  111.      
  112.      
  113.               "A PERSPECTIVE ON THE ARPANET REFERENCE MODEL"
  114.  
  115.                               M. A. Padlipsky
  116.      
  117.      
  118.      
  119.  
  120.                                Introduction
  121.  
  122.           Despite the fact that "the ARPANET" stands as the
  123.      proof-of-concept of intercomputer networking and, as discussed in
  124.      more detail below, introduced such fundamental notions as
  125.      Layering and Virtualizing to the literature, the wide
  126.      availability of material which appeals to the International
  127.      Standards Organization's Reference Model for Open System
  128.      Interconnection (ISORM) has prompted many new- comers to the
  129.      field to overlook the fact that, even though it was largely
  130.      tacit, the designers of the ARPANET protocol suite have had a
  131.      reference model of their own all the long.  That is, since well
  132.      before ISO even took an interest in "networking", workers in the
  133.      ARPA-sponsored research community have been going about their
  134.      business of doing research and development in intercomputer
  135.      networking with a particular frame of reference in mind.  They
  136.      have, unfortunately, either been so busy with their work or were
  137.      perhaps somehow unsuited temperamentally to do learned papers on
  138.      abstract topics when there are interesting things to be said on
  139.      specific topics, that it is only in very recent times that there
  140.      has been much awareness in the research community of the impact
  141.      of the ISORM on the lay mind.  When the author is asked to review
  142.      solemn memoranda comparing such things as the ARPANET treatment
  143.      of "internetting" with that of CCITT employing the ISORM "as the
  144.      frame of reference," however, the time has clearly come to
  145.      attempt to enunciate the ARPANET Reference Model (ARM)
  146.      publicly--for such comparisons are painfully close to comparing
  147.      an orange with an apple using redness and smoothness as the
  148.      dominant criteria, given the philosophical closeness of the CCITT
  149.      and ISO models and their mutual disparities from the ARPANET
  150.      model.
  151.  
  152.           This paper, then, is primarily intended as a perspective on
  153.      the ARM.  (Secondarily, it is intended to point out some of the
  154.      differences between the ARM and the ISORM. For a perspective on
  155.      this subtheme, please see Note [1])  It can't be "the official"
  156.      version because the ARPANET Network Working Group (NWG), which
  157.      was the collective source of the ARM, hasn't had an official
  158.      general meeting since October, 1971, and can scarcely be
  159.      resurrected to haggle over it.  It does, at least, represent with
  160.      some degree of fidelity the views of a number of NWG members as
  161.      those views were expressed in NWG general meetings, NWG protocol
  162.      design committee meetings, and private conversations over the
  163.      intervening years. (Members of the current ARPA Internet Working
  164.      Group, which applied
  165.  
  166.  
  167.                                      1
  168.      RFC 871                                            September 1982
  169.  
  170.  
  171.      and adapted the original model to a broader arena than had
  172.      initially been contemplated, were also consulted.)  That might
  173.      not sound so impressive as a pronunciamento from an international
  174.      standards organization, but the reader should be somewhat
  175.      consoled by the consideration that not only are the views
  176.      expressed here purported to be those of the primary workers in
  177.      the field, but also at least one Englishman helped out in the
  178.      review process.
  179.  
  180.                      Historical/Philosophical Context
  181.  
  182.           Although rigorous historians of science might quibble as to
  183.      whether they were "invented" by a particular group, it is  an
  184.      historical fact that many now widely-accepted, fundamental
  185.      concepts of intercomputer networking were original to the ARPANET
  186.      Network Working Group. [2]  Before attempting to appreciate the
  187.      implications of that assertion, let's attempt to define its two
  188.      key terms and then cite the concepts it alludes to:
  189.  
  190.           By "intercomputer networking"  we mean the attachment of
  191.      multiple, usually general-purpose computer systems--in the sense
  192.      of Operating Systems of potentially different manufacture (i.e.,
  193.      "Heterogeneous Operating Systems")--to some communications
  194.      network, or communications networks somehow interconnected, for
  195.      the purpose of achieving resource sharing amongst the
  196.      participating operating systems, usually called Hosts.  (By
  197.      "resource sharing" we mean the  potential ability for programs on
  198.      each of the Hosts to interoperate with programs on the other
  199.      Hosts and for data housed on each of the Hosts to be made
  200.      available to the other Hosts in a more general and flexible
  201.      fashion than merely enabling users on each of the Hosts to be
  202.      able to login to the other Hosts as if they were local; that is,
  203.      we expect to do more than mere "remote access" to intercomputer
  204.      networked Hosts.)  By "the ARPANET Network Working Group," we
  205.      mean those system programmers and computer scientists from
  206.      numerous Defense Advanced Research Projects Agency-sponsored
  207.      installations whose home operating systems were intended to
  208.      become early Hosts on the ARPANET.  (By "the ARPANET" we mean,
  209.      depending on context, either that communications network
  210.      sponsored by DARPA which served as proof-of-concept for the
  211.      communications technology known as "packet switching," or,
  212.      consistent with common usage, the intercomputer network which was
  213.      evolved by the NWG that uses that communications network--or
  214.      "comm subnet"--as its inter-Host data transmission medium.)
  215.  
  216.           The concepts of particular interest are as follows:  By
  217.      analogy to the use of the term in traditional communications, the
  218.      NWG decided that the key to the mechanization of the
  219.      resource-sharing goal (which in turn had been posited in their
  220.      informal charter)
  221.  
  222.  
  223.  
  224.  
  225.  
  226.                                      2
  227.      RFC 871                                            September 1982
  228.  
  229.  
  230.      would be "protocols" that Hosts would interpret both in
  231.      communicating with the comm subnet and in communicating with each
  232.      other.  Because the active entities in Hosts (the programs in
  233.      execution) were widely referred to in Computer Science as
  234.      "processes," it seemed clear that the mechanization of resource
  235.      sharing had to involve interprocess communication; protocols that
  236.      enabled and employed interprocess communication became, almost
  237.      axiomatically, the path to the goal.  Perhaps because the
  238.      limitations of mere remote access were perceived early on, or
  239.      perhaps simply by analogy to the similar usage with regard to
  240.      distinguishing between physical tape drives and tape drives
  241.      associated with some conventionally-defined function like the
  242.      System Input stream or the System Output stream in batch
  243.      operating systems, the discernible communications paths (or
  244.      "channels") through the desired interprocess communication
  245.      mechanism became known as "logical connections"--the intent of
  246.      the term being to indicate that the physical path didn't matter
  247.      but the designator (number) of the logical connection could have
  248.      an assigned meaning, just like logical tape drive numbers.
  249.      Because "modularity" was an important issue in Computer Science
  250.      at the time, and because the separation of Hosts and Interface
  251.      Message Processors (IMP's) was a given, the NWG realized that the
  252.      protocols it designed should be "layered," in the sense that a
  253.      given set of related functions (e.g., the interprocess
  254.      communication mechanism, or "primitives," as realized in a
  255.      Host-to-Host protocol) should not take special cognizance of the
  256.      detailed internal mechanics of another set of related functions
  257.      (e.g., the comm subnet attachment mechanism, as realized in a
  258.      Host-Comm Subnet Processor protocol), and that, indeed, protocols
  259.      may be viewed as existing in a hierarchy.
  260.  
  261.           With the notion of achieving resource sharing via layered
  262.      protocols for interprocess communication over logical connections
  263.      fairly firmly in place, the NWG turned to how best to achieve the
  264.      first step of intercomputer networking:  allowing a distant user
  265.      to login to a Host as if local--but with the clear understanding
  266.      that the mechanisms employed were to be generalizable to other
  267.      types of resource sharing.  Here we come to the final fundamental
  268.      concept contributed by the NWG, for it was observed that if n
  269.      different types of Host (i.e., different operating systems) had
  270.      to be made aware of the physical characteristics of m different
  271.      types of terminal in order to exercise physical control over
  272.      them--or even if n different kinds of Host had to become aware of
  273.      the native terminals supported by m other kinds of Hosts if
  274.      physical control were to remain local--there would be an
  275.      administratively intractable "n x m problem."  So the notion of
  276.      creating a "virtual terminal" arose, probably by analogy to
  277.      "virtual memory" in the sense of something that "wasn't really
  278.      there" but could be used as if it
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.                                      3
  286.      RFC 871                                            September 1982
  287.  
  288.  
  289.      were; that is, a common intermediate representation (CIR) of
  290.      terminal characteristics was defined in order to allow the Host
  291.      to which a terminal was physically attached to map the particular
  292.      characteristics of the terminal into a CIR, so that the Host
  293.      being logged into, knowing the CIR as part of the relevant
  294.      protocol, could map out of it into a form already acceptable to
  295.      the native operating system.  And when it came time to develop a
  296.      File Transfer Protocol, the same virtualizing or CIR trick was
  297.      clearly just as useful as for a terminal oriented protocol, so
  298.      virtualizing became part of the axiom set too.
  299.  
  300.           The NWG, then, at least pioneered and probably invented the
  301.      notion of doing intercomputer networking/resource sharing via
  302.      hierarchical, layered protocols for interprocess communication
  303.      over logical connections of common intermediate representations/
  304.      virtualizations.  Meanwhile, outside of the ARPA research
  305.      community, "the ARPANET" was perceived to be a major
  306.      technological advance. "Networking" became the "in" thing.  And
  307.      along with popular success came the call for standards; in
  308.      particular, standards based on a widely-publicized "Reference
  309.      Model for Open System Interconnection" promulgated by the
  310.      International Standards Organization.  Not too surprisingly, Open
  311.      System Interconnection looks a lot like resource sharing, the
  312.      ISORM posits a layered protocol hierarchy, "connections" occur
  313.      frequently, and emerging higher level protocols tend to
  314.      virtualize; after all, one expects standards to reflect the state
  315.      of the art in question.  But even if the ISORM, suitably refined,
  316.      does prove to be the wave of the future, this author feels that
  317.      the ARM is by no means a whitecap, and deserves explication--both
  318.      in its role as the ISORM's "roots" and as the basis of a
  319.      still-viable alternative protocol suite.
  320.  
  321.                               Axiomatization
  322.  
  323.           Let's begin with the axioms of the ARPANET Reference Model.
  324.      Indeed, let's begin by recalling what an axiom is, in common
  325.      usage: a principle the truth of which is deemed self-evident.
  326.      Given that definition, it's not too surprising that axioms rarely
  327.      get stated or examined in non-mathematical discourse.  It turns
  328.      out, however, that the axiomatization of the ARM--as best we can
  329.      recall and reconstruct it--is not only germane to the enunciation
  330.      of the ARM, but is also a source of instructive contrasts with
  331.      our view of the axiomatization of the ISORM.  (See [1] again.)
  332.  
  333.      Resource Sharing
  334.  
  335.           The fundamental axiom of the ARM is that intercomputer
  336.      networking protocols (as distinct from communications network
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.                                      4
  345.      RFC 871                                            September 1982
  346.  
  347.  
  348.      protocols) are to enable heterogeneous computer operating systems
  349.      ("Hosts") to achieve resource sharing.  Indeed, the session at
  350.      the 1970 SJCC in which the ARPANET entered the open literature
  351.      was entitled "Resource Sharing Computer Networks".
  352.  
  353.           Of course, as self-evident truths, axioms rarely receive
  354.      much scrutiny.  Just what resource sharing is isn't easy to pin
  355.      down--nor, for that matter, is just what Open System
  356.      Interconnection is. But it must have something to do with the
  357.      ability of the programs and data of the several Hosts to be used
  358.      by and with programs and data on other of the Hosts in some sort
  359.      of cooperative fashion.  It must, that is, confer more
  360.      functionality upon the human user than merely the ability to log
  361.      in/on to a Host miles away ("remote access").
  362.  
  363.           A striking property of this axiom is that it renders
  364.      protocol suites such as "X.25"/"X.28"/ "X.29" rather
  365.      uninteresting for our purposes, for they appear to have as their
  366.      fundamental axiom the ability to achieve remote access only.  (It
  367.      might even be a valid rule of thumb that any "network" which
  368.      physically interfaces to Hosts via devices that resemble milking
  369.      machines--that is, which attach as if they were just a group of
  370.      locally-known types of terminals--isn't a resource sharing
  371.      network.)
  372.  
  373.           Reference [3] addresses the resource sharing vs. remote
  374.      access topic in more detail.
  375.  
  376.      Interprocess Communication
  377.  
  378.           The second axiom of the ARM is that resource sharing will be
  379.      achieved via an interprocess communication mechanism of some
  380.      sort.  Again, the concept isn't particularly well-defined in the
  381.      "networking" literature.  Here, however, there's some
  382.      justification, for the concept is fairly well known in the
  383.      Operating Systems branch of the Computer Science literature,
  384.      which was the field most of the NWG members came from.
  385.      Unfortunately, because intercomputer networking involves
  386.      communications devices of several sorts, many whose primary field
  387.      is Communications became involved with "networking" but were not
  388.      in a position to appreciate the implications of the axiom.
  389.  
  390.           A process may be viewed as the active element of a Host, or
  391.      as an address space in execution, or as a "job", or as a "task",
  392.      or as a "control point"--or, actually, as any one (or more) of at
  393.      least 29 definitions from at least 28 reputable computer
  394.      scientists.  What's important for present purposes isn't the
  395.      precise definition (even if there were one), but the fact that
  396.      the axiom's presence dictates the absence of at least one other
  397.      axiom at the same level of
  398.  
  399.  
  400.  
  401.  
  402.  
  403.                                      5
  404.      RFC 871                                            September 1982
  405.  
  406.  
  407.      abstraction.  That is, we might have chosen to attempt to achieve
  408.      resource sharing through an explicitly interprocedure
  409.      communication oriented mechanism of some sort--wherein the
  410.      entities being enabled to communicate were subroutines, or pieces
  411.      of address spaces--but we didn't.  Whether this was because
  412.      somebody realized that you could do interprocedure communication
  413.      (or achieve a "virtual address space" or "distributed operating
  414.      system" or some such formulation) on top of an interprocess
  415.      communication mechanism (IPC), or whether "it just seemed
  416.      obvious" to do IPC doesn't matter very much.  What matters is
  417.      that the axiom was chosen, assumes a fair degree of familiarity
  418.      with Operating Systems, doesn't assume extremely close coupling
  419.      of Hosts, and has led to a working protocol suite which does
  420.      achieve resource sharing--and certainly does appear to be an
  421.      axiom the ISORM tacitly accepted, along with resource sharing.
  422.  
  423.      Logical Connections
  424.  
  425.           The next axiom has to do with whether and how to demultiplex
  426.      IPC "channels", "routes", "paths", "ports", or "sockets".  That
  427.      is, if you're doing interprocess communication (IPC), you still
  428.      have to decide whether a process can communicate with more than
  429.      one other process, and, if so, how to distinguish between the bit
  430.      streams. (Indeed, even choosing streams rather than blocks is a
  431.      decision.) Although it isn't treated particularly explicitly in
  432.      the literature, it seems clear that the ARM axiom is to do IPC
  433.      over logical connections, in the following sense:  Just as batch
  434.      oriented operating systems found it useful to allow processes
  435.      (usually thought of as jobs--or even "programs") to be insulated
  436.      from the details of which particular physical tape drives were
  437.      working well enough at a particular moment to spin the System
  438.      Input and Output reels, and created the view that a reference to
  439.      a "logical tape number" would always get to the right physical
  440.      drive for the defined purpose, so too the ARM's IPC mechanism
  441.      creates logical connections between processes.  That is, the IPC
  442.      addressing mechanism has semantics as well as syntax.
  443.  
  444.           "Socket" n on any participating Host will be defined as the
  445.      "Well-Known Socket" (W-KS) where a particular service (as
  446.      mechanized by a program which follows, or "interprets", a
  447.      particular  protocol [4]) is found.  (Note that the W-KS is
  448.      defined for the "side" of a connection where a given service
  449.      resides; the user side will, in  order to be able to demultiplex
  450.      its network-using processes, of course assign different numbers
  451.      to its "sides" of connections to a given W-KS.  Also, the serving
  452.      side takes cognizance of the using side's Host designation as
  453.      well as the proferred socket, so it too can demultiplex.)
  454.      Clearly, you want free sockets as well as Well-Known ones, and we
  455.      have them.  Indeed, at each level of the ARM
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.                                      6
  463.      RFC 871                                            September 1982
  464.  
  465.  
  466.      hierarchy the addressing entities are divided into assigned and
  467.      unassigned sets, and the distinction has proven to be quite
  468.      useful to networking researchers in that it confers upon them the
  469.      ability to experiment with new functions without interfering with
  470.      running mechanisms.
  471.  
  472.           On this axiom, the ISORM differs from the ARM.  ISORM
  473.      "peer-peer" connections (or "associations") appear to be used
  474.      only for demultiplexing, with the number assigned by the receive
  475.      side rather than the send side.  That is, a separate protocol is
  476.      intro- duced to establish that a particular "transport"
  477.      connection will be used in the present "session" for some
  478.      particular service.  At the risk of editorializing, logical
  479.      connections seem much cleaner than "virtual" connections (using
  480.      virtual in the sense of something that "isn't really there" but
  481.      can be used as if it were, by analogy to virtual memory, as noted
  482.      above, and in deference to the X.25 term "virtual circuit", which
  483.      appears to have dictated the receiver-assigned posture the ISORM
  484.      takes at its higher levels.) Although the ISORM view "works", the
  485.      W-KS approach avoids the introduction of an extra protocol.
  486.  
  487.      Layering
  488.  
  489.           The next axiom is perhaps the best-known, and almost
  490.      certainly the worst-understood.  As best we can reconstruct
  491.      things, the NWG was much taken with the Computer Science buzzword
  492.      of the times, "modularity".  "Everybody knew" modularity was a
  493.      Good Thing.  In addition, we were given a head start because the
  494.      IMP's weren't under our direct control anyway, but could possibly
  495.      change at some future date, and we didn't want to be "locked in"
  496.      to the then-current IMP-Host protocol.  So it was enunciated that
  497.      protocols which were to be members of the ARM suite (ARMS, for
  498.      future reference, although at the time nobody used "ARM", much
  499.      less "ARMS") were to be layered.  It was widely agreed that this
  500.      meant a given protocol's control information (i.e., the control
  501.      information exchanged by counterpart protocol interpreters, or
  502.      "peer entities" in ISORM terms) should be treated strictly as
  503.      data by a protocol "below" it, so that you could invoke a
  504.      protocol interpreter (PI) through a known interface, but if
  505.      either protocol changed there would not be any dependencies in
  506.      the other on the former details of the one, and as long as the
  507.      interface didn't change you wouldn't have to change the PI of the
  508.      protocol which hadn't changed.
  509.  
  510.           All well and good, if somewhat cryptic.  The important point
  511.      for present purposes, however, isn't a seemingly-rigorous
  512.      definition of Layering, but an appreciation of what the axiom
  513.      meant in the evolution of the ARM.  What it meant was that we
  514.      tried to come up
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.                                      7
  522.      RFC 871                                            September 1982
  523.  
  524.  
  525.      with protocols that represented reasonable "packagings" of
  526.      functionality.  For reasons that are probably unknowable, but
  527.      about which some conjectures will be offered subsequently, the
  528.      ARM and the ISORM agree strongly on the presence of Layering in
  529.      their respective axiomatizations but differ strikingly as to what
  530.      packagings of functionality are considered appropriate.  To
  531.      anticipate a bit, the ARM concerns itself with three layers and
  532.      only one of them is mandatorily traversed;  whereas the ISORM,
  533.      again as everybody knows, has, because of emerging "sub-layers",
  534.      what must be viewed as at least seven layers, and many who have
  535.      studied it believe that all of the layers must be traversed on
  536.      each transmission/reception of data.
  537.  
  538.           Perhaps the most significant point of all about Layering is
  539.      that the most frequently-voiced charge at NWG protocol committee
  540.      design meetings was, "That violates Layering!" even though nobody
  541.      had an appreciably-clearer view of what Layering meant than has
  542.      been presented here, yet the ARMS exists.  We can only guess what
  543.      goes on in the design meetings for protocols to become members of
  544.      the ISORM suite (ISORMS), but it doesn't seem likely that having
  545.      more layers could possibly decrease the number of arguments....
  546.  
  547.           Indeed, it's probably fair to say that the ARM view of
  548.      Layering is to treat layers as quite broad functional groupings
  549.      (Network Interface, Host-Host, and Process-Level, or
  550.      Applications), the constituents of which are to be modular.
  551.      E.g., in the Host-Host layer of the current ARMS, the Internet
  552.      Protocol, IP, packages internet addressing--among other
  553.      things--for both the Transmission Control Protocol, TCP, which
  554.      packages reliable interprocess communication, and UDP--the less
  555.      well-known User Datagram Protocol--which packages only
  556.      demultiplexable interprocess communication ... and for any other
  557.      IPC packaging which should prove desirable.  The ISORM view, on
  558.      the other hand, fundamentally treats layers as rather narrow
  559.      functional groupings, attempting to force modularity by requiring
  560.      additional layers for additional functions (although the
  561.      "classes" view of the proposed ECMA-sponsored ISORM Transport
  562.      protocol tends to mimic the relations between TCP, UDP, and IP).
  563.  
  564.           It is, by the way, forcing this view of modularity by
  565.      multiplying layers rather than by trusting the designers of a
  566.      given protocol to make it usable by other protocols within its
  567.      own layer that we suspect to be a major cause of the divergence
  568.      between the ISORM and the ARM, but, as indicated, the issue
  569.      almost certainly is not susceptible of proof.  (The less
  570.      structured view of modularity will be returned to in the next
  571.      major section.)  At any rate, the notion that "N-entities" must
  572.      communicate with one another by means of "N-1 entities" does seem
  573.      to us to take the ISORM out of its
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.                                      8
  581.      RFC 871                                            September 1982
  582.  
  583.  
  584.      intended sphere of description into the realm of prescription,
  585.      where we believe it should not be, if for no other reason than
  586.      that for a reference model to serve a prescriptive role levies
  587.      unrealizable requirements of precision, and of familiarity with
  588.      all styles of operating systems, on its expositors.  In other
  589.      words, as it is currently presented, the ISORM hierarchy of
  590.      protocols turns out to be a rather strict hierarchy, with
  591.      required, "chain of command" implications akin to the Elizabethan
  592.      World Picture's Great Chain of Being some readers might recall if
  593.      they've studied Shakespeare, whereas in the ARM a cat can even
  594.      invoke a king, much less look at one.
  595.  
  596.      Common Intermediate Representations
  597.  
  598.           The next axiom to be considered might well not be an axiom
  599.      in a strict sense of the term, for it is susceptible of "proof"
  600.      in some sense.  That is, when it came time to design the first
  601.      Process-Level (roughly equivalent to ISORM Level 5.3 [5] through
  602.      7) ARMS protocol, it did seem self-evident that a "virtual
  603.      terminal" was a sound conceptual model--but it can also be
  604.      demonstrated that it is.  The argument, customarily shorthanded
  605.      as "the N X M Problem", was sketched above; it goes as follows:
  606.      If you want to let users at remote terminals log in/on to Hosts
  607.      (and you do--resource sharing doesn't preclude remote access, it
  608.      subsumes it), you have a problem with Hosts' native terminal
  609.      control software or "access methods", which only "know about"
  610.      certain kinds/brands/types of terminals, but there are many more
  611.      terminals out there than any Host has internalized (even those
  612.      whose operating systems take a generic view of I/O and don't
  613.      allow applications programs to "expect" particular terminals).
  614.  
  615.           You don't want to make N different types of Host/Operating
  616.      System have to become aware of M different types of terminal.
  617.      You don't want to limit access to users who are at one particular
  618.      type of terminal even if all your Hosts happen to have one in
  619.      common.  Therefore, you define a common intermediate
  620.      representation (CIR) of the properties of terminals--or create a
  621.      Network Virtual Terminal (NVT), where "virtual" is used by
  622.      analogy to "virtual memory" in the sense of something that isn't
  623.      necessarily really present physically but can be used as if it
  624.      were.  Each Host adds one terminal to its set of supported types,
  625.      the NVT--where adding means translating/mapping from the CIR to
  626.      something acceptable to the rest of the programs on your system
  627.      when receiving terminal-oriented traffic "from the net", and
  628.      translating/mapping to the CIR from whatever your acceptable
  629.      native representation was when sending terminal-oriented traffic
  630.      "to the net".  (And the system to  which the terminal is
  631.      physically attached does the same things.)
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.                                      9
  640.      RFC 871                                            September 1982
  641.  
  642.  
  643.           "Virtualizing" worked so well for the protocol in question
  644.      ("Telnet", for TELetypewriter NETwork) that when it came time to
  645.      design a File Transfer Protocol (FTP), it was employed again--in
  646.      two ways, as it happens.  (It also worked so well that in some
  647.      circles, "Telnet" is used as a generic term for "Virtual Terminal
  648.      Protocol", just like "Kleenex" for "disposable handkerchief".)
  649.      The second way in which FTP (another generic-specific) used
  650.      Common Intermediate Representations is well-known: you can make
  651.      your FTP protocol interpreters (PI's) use certain "virtual" file
  652.      types in ARMS FTP's and in proposed ISORMS FTP's.  The first way
  653.      a CIR was used deserved more publicity, though:  We decided to
  654.      have a command-oriented FTP, in the sense of making it possible
  655.      for users to cause files to be deleted from remote directories,
  656.      for example, as well as simply getting a file added to a remote
  657.      directory.  (We also wanted to be able to designate some files to
  658.      be treated as input to the receiving Hosts' native "mail" system,
  659.      if it had one.)  Therefore, we needed an agreed-upon
  660.      representation of the commands--not only spelling the names, but
  661.      also defining the character set, indicating the ends of lines,
  662.      and so on.  In less time than it takes to write about, we
  663.      realized we already had such a CIR: "Telnet".
  664.  
  665.           So we "used Telnet", or at any rate the NVT aspects of that
  666.      protocol, as the "Presentation" protocol for the control aspects
  667.      of FTP--but we didn't conclude from that that Telnet was a lower
  668.      layer than FTP.  Rather, we applied the principles of modularity
  669.      to make use of a mechanism for more than one purpose--and we
  670.      didn't presume to know enough about the internals of everybody
  671.      else's Host to dictate how the program(s) that conferred the FTP
  672.      functionality interfaced with the program(s) that conferred the
  673.      Telnet functionality.  That is, on some operating systems it
  674.      makes sense to let FTP get at the NVT CIR by means of closed
  675.      subroutine calls, on others through native IPC, and on still
  676.      others by open subroutine calls (in the sense of replicating the
  677.      code that does the NVT mapping within the FTP PI).  Such
  678.      decisions are best left to the system programmers of the several
  679.      Hosts.  Although the ISORM takes a similar view in principle, in
  680.      practice many ISORM advocates take the model prescriptively
  681.      rather than descriptively and construe it to require that PI's at
  682.      a given level must communicate with each other via an "N-1
  683.      entity" even within the same Host.  (Still other ISORMites
  684.      construe the model as dictating "monolithic" layers--i.e., single
  685.      protocols per level--but this view seems to be abating.)
  686.  
  687.           One other consideration about virtualizing bears mention:
  688.      it's a good servant but a bad master.  That is, when you're
  689.      dealing with the amount of traffic that traverses a
  690.      terminal-oriented logical (or even virtual) connection, you don't
  691.      worry much about how many CPU cycles you're "wasting" on mapping
  692.      into and out of the NVT CIR; but
  693.  
  694.  
  695.  
  696.  
  697.  
  698.                                     10
  699.      RFC 871                                            September 1982
  700.  
  701.  
  702.      when you're dealing with files that can be millions of bits long,
  703.      you probably should worry--for those CPU cycles are in a fairly
  704.      real sense the resources you're making sharable.  Therefore, when
  705.      it comes to (generic) FTP's, even though we've seen it in one or
  706.      two ISORM L6 proposals, having only a virtual file conceptual
  707.      model is not wise.  You'd rather let one side or the other map
  708.      directly between native representations where possible, to
  709.      eliminate the overhead for going into and out of the CIR--for
  710.      long enough files, anyway, and provided one side or the other is
  711.      both willing and able to do the mapping to the intended
  712.      recipient's native representation.
  713.  
  714.      Efficiency
  715.  
  716.           The last point leads nicely into an axiom that is rarely
  717.      acknowledged explicitly, but does belong in the ARM list of
  718.      axioms: Efficiency is a concern, in several ways.  In the first
  719.      place, protocol mechanisms are meant to follow the design
  720.      principle of Parsimony, or Least Mechanism; witness the argument
  721.      immediately above about making FTP's be able to avoid the double
  722.      mapping of a Virtual File approach when they can.  In the second
  723.      place, witness the argument further above about leaving
  724.      implementation decisions to implementers.  In the author's
  725.      opinion, the worst mistake in the ISORM isn't defining seven (or
  726.      more) layers, but decreeing that "N-entities" must communicate
  727.      via "N-1 entities" in a fashion which supports the interpretation
  728.      that it applies intra-Host as well as inter-Host.  If you picture
  729.      the ISORM as a highrise apartment building, you are constrained
  730.      to climb down the stairs and then back up to visit a neighbor
  731.      whose apartment is on your own floor.  This might be good
  732.      exercise, but CPU's don't need aerobics as far as we know.
  733.  
  734.           Recalling that this paper is only secondarily about ARM
  735.      "vs." ISORM, let's duly note that in the ARM there is a concern
  736.      for efficiency from the perspective of participating Hosts'
  737.      resources (e.g., CPU cycles and, it shouldn't be overlooked,
  738.      "core") expended on interpreting protocols, and pass on to the
  739.      final axiom without digressing to one or two proposed specific
  740.      ISORM mechanisms which seem to be extremely inefficient.
  741.  
  742.      Equity
  743.  
  744.           The least known of the ARM axioms has to do with a concern
  745.      over whether particular protocol mechanisms would entail undue
  746.      perturbation of native mechanisms if implemented in particular
  747.      Hosts.  That is, however reluctantly, the ARMS designers were
  748.      willing to listen to claims that "you can't implement that in my
  749.      system" when particular tactics were proposed and, however
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.                                     11
  758.      RFC 871                                            September 1982
  759.  
  760.  
  761.      grudgingly, retreat from a mechanism that seemed perfectly
  762.      natural on their home systems to one which didn't seriously
  763.      discommode a colleague's home system.  A tacit design principle
  764.      based on equity was employed.  The classic example had to do with
  765.      "electronic mail", where a desire to avoid charging for incoming
  766.      mail led some FTP designers to think that the optionally
  767.      mandatory "login" commands of the protocol shouldn't be mandatory
  768.      after all.  But the commands were needed by some operating
  769.      systems to actuate not only accounting mechanisms but
  770.      authentication mechanisms as well, and the process which
  771.      "fielded" FTP connections was too privileged (and too busy) to
  772.      contain the FTP PI as well.  So (to make a complex story
  773.      cryptic), a common name and password were advertised for a "free"
  774.      account for incoming mail, and the login commands remained
  775.      mandatory (in the sense that any Host could require their
  776.      issuance before it participated in FTP).
  777.  
  778.           Rather than attempt to clarify the example, let's get to its
  779.      moral:  The point is that how well protocol mechanisms integrate
  780.      with particular operating systems can be extremely subtle, so in
  781.      order to be equitable to participating systems, you must either
  782.      have your designers be sophisticated implementers or subject your
  783.      designs to review by sophisticated implementers (and grant veto
  784.      power to them in some sense).
  785.  
  786.           It is important to note that, in the author's view, the
  787.      ISORM not only does not reflect application of the Principle of
  788.      Equity, but it also fails to take any explicit cognizance of the
  789.      necessity of properly integrating its protocol interpreters into
  790.      continuing operating systems.  Probably motivated by Equity
  791.      considerations, ARMS protocols, on the other hand, represent the
  792.      result of intense implementation discussion and testing.
  793.  
  794.                                Articulation
  795.  
  796.           Given the foregoing discussion of its axioms, and a reminder
  797.      that we find it impossible in light of the existence of dozens of
  798.      definitions of so fundamental a notion as "process" to believe in
  799.      rigorous definitions, the ARPANET Reference Model is not going to
  800.      require much space to articulate.  Indeed, given further the
  801.      observation that we believe reference models are supposed to be
  802.      descriptive rather than prescriptive, the articulation of the ARM
  803.      can be almost terse.
  804.  
  805.           In order to achieve efficient, equitable resource sharing
  806.      among dissimilar operating systems, a layered set of interprocess
  807.      communication oriented protocols is posited which typically
  808.      employ common intermediate representations over logical
  809.      connections.  Three
  810.  
  811.  
  812.  
  813.  
  814.  
  815.  
  816.                                     12
  817.      RFC 871                                            September 1982
  818.  
  819.  
  820.      layers are distinguished, each of which may contain a number of
  821.      protocols.
  822.  
  823.           The Network Interface layer contains those protocols which
  824.      are presented as interfaces by communications subnetwork
  825.      processors ("CSNP"; e.g., packet switches, bus interface units,
  826.      etc.)  The CSNP's are assumed to have their own protocol or
  827.      protocols among themselves, which are not directly germane to the
  828.      model.  In particular, no assumption is made that CSNP's of
  829.      different types can be directly interfaced to one another; that
  830.      is, "internetting" will be accomplished by Gateways, which are
  831.      special purpose systems that attach to CSNP's as if they were
  832.      Hosts (see also "Gateways" below). The most significant property
  833.      of the Network Interface layer is that bits presented to it by an
  834.      attached Host will probably be transported by the underlying
  835.      CSNP's to an addressed Host (or Hosts) (i.e., "reliable" comm
  836.      subnets are not posited--although they are, of course, allowed).
  837.      A Network layer protocol interpreter ("module") is normally
  838.      invoked by a Host-Host protocol PI, but may be invoked by a
  839.      Process Level/Applications protocol PI, or even by a Host process
  840.      interpreting no formal protocol whatsoever.
  841.  
  842.           The Host-Host layer contains those protocols which confer
  843.      interprocess communication functionality.  In the current
  844.      "internet" version of the ARM, the most significant property of
  845.      such protocols is the ability to direct such IPC to processes on
  846.      Hosts attached to "proximate networks" (i.e., to CSNP's of
  847.      various autonomous communications subnetworks) other than that of
  848.      the Host at hand, in addition to those on a given proximate net.
  849.      (You can, by the way, get into some marvelous technicoaesthetic
  850.      arguments over whether there should be a separate Internet layer;
  851.      for present purposes, we assume that the Principle of Parsimony
  852.      dominates.)  Another significant property of Host-Host protocols,
  853.      although not a required one, is the ability to do such IPC over
  854.      logical connections. Reliability, flow control, and the ability
  855.      to deal with "out-of-band signals" are other properties of
  856.      Host-Host protocols which may be present.  (See also "TCP/IP
  857.      Design Goals and Constraints", below.) A Host-Host PI is normally
  858.      invoked by a Process Level/Applications PI, but may also be
  859.      invoked by a Host process interpreting no formal protocol
  860.      whatsoever.  Also, a Host need not support more than a single,
  861.      possibly notional, process (that is, the code running in an
  862.      "intelligent terminal" might not be viewed by its user--or even
  863.      its creator--as a formal "process", but it stands as a de facto
  864.      one).
  865.  
  866.           The Process Level/Applications layer contains those
  867.      protocols which perform specific resource sharing and remote
  868.      access functions such as allowing users to log in/on to foreign
  869.      Hosts, transferring files, exchanging messages, and the like.
  870.      Protocols in this layer
  871.  
  872.  
  873.  
  874.  
  875.                                     13
  876.      RFC 871                                            September 1982
  877.  
  878.  
  879.      will often employ common intermediate representations, or
  880.      "virtual- izations", to perform their functions, but this is not
  881.      a necessary condition.  They are also at liberty to use the
  882.      functions performed by other protocols within the same layer,
  883.      invoked in whatever fashion is appropriate within a given
  884.      operating system context.
  885.  
  886.           Orthogonal to the layering, but consistent with it, is the
  887.      notion that a "Host-Front End" protocol (H-FP), or "Host-Outboard
  888.      Processing Environment" protocol, may be employed to offload
  889.      Network and Host-Host layer PI's from Hosts, to Outboard
  890.      Processing Environments (e.g., to "Network Front Ends", or to
  891.      BIU's, where the actual PI's reside, to be invoked by the H-FP as
  892.      a distributed processing mechanism), as well as portions of
  893.      Process Level/Applications protocols' functionality.  The most
  894.      significant property of an H-FP attached Host is that it be
  895.      functionally identical to a Host with inboard PI's in operation,
  896.      when viewed from another Host. (That is, Hosts which outboard
  897.      PI's will be attached to in a flexible fashion via an explicit
  898.      protocol, rather than in a rigid fashion via the emulation of
  899.      devices already known to the operating system in question.)
  900.  
  901.           Whether inboard or outboard of the Host, it is explicitly
  902.      assumed that PI's will be appropriately integrated into the
  903.      containing operating systems.  The Network and Host-Host layers
  904.      are, that is, effectively system programs (although this
  905.      observation should not be construed as implying that any of their
  906.      PI's must of necessity be implemented in a particular operating
  907.      system's "hard-core supervisor" or equivalent) and their PI's
  908.      must be able to behave as such.
  909.  
  910.                                Visualization
  911.  
  912.           Figures 1 and 2 (adapted from [6]) present, respectively, an
  913.      abstract rendition of the ARPANET Reference Model and a
  914.      particular version of a protocol suite designed to that model.
  915.      Just as one learns in Geometry that one cannot "prove" anything
  916.      from the figures in the text, they are intended only to
  917.      supplement the prose description above.  (At least they bear no
  918.      resemblance to highrise apartment houses.)
  919.  
  920.                     TCP/IP Design Goals and Constraints
  921.  
  922.           The foregoing description of the ARM, in the interests of
  923.      conciseness, deferred detailed discussion of two rather relevant
  924.      topics:  just what TCP and IP (the Transmission Control Protocol
  925.      and the Internet Protocol) are "about", and just what role
  926.      Gateways are
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.                                     14
  935.      RFC 871                                            September 1982
  936.  
  937.  
  938.      expected to play in the model.  We turn to those topics now,
  939.      under separate headings.
  940.  
  941.           As has been stated, with the success of the ARPANET [7] as
  942.      both a proof-of-concept of intercomputer resource sharing via a
  943.      packet-switched communications subnetwork and a (still)
  944.      functional resource sharing network, a number of other bodies,
  945.      research and commercial, developed "their own networks."  Often
  946.      just the communications subnetwork was intended, with the goal
  947.      being to achieve remote access to attached Hosts rather than
  948.      resource sharing among them, but nonetheless new networks
  949.      abounded.  Hosts attached to the original ARPANET or to DoD nets
  950.      meant to be transferences of ARPANET technology should, it was
  951.      perceived in the research community, be able to do resource
  952.      sharing (i.e., interpret common high level protocols) with Hosts
  953.      attached to these other networks. Thus, the first discernible
  954.      goal of what was to become TCP/IP was to develop a protocol to
  955.      achieve "internetting".
  956.  
  957.           At roughly the same time--actually probably chronologically
  958.      prior, but not logically prior--the research community came to
  959.      understand that the original ARPANET Host-Host Protocol or AH-HP
  960.      (often miscalled NCP because it was the most visible component of
  961.      the Network Control Program of the early literature) was somewhat
  962.      flawed, particularly in the area of "robustness."  The comm
  963.      subnet was not only relied upon to deliver messages accurately
  964.      and in order, but it was even expected to manage the transfer of
  965.      bits from Hosts to and from its nodal processors over a hardware
  966.      interface and "link protocol" that did no error checking.  So,
  967.      although the ARPANET-as-subnet has proven to be quite good in
  968.      managing those sorts of things, surely if internetting were to be
  969.      achieved over subnets potentially much less robust than the
  970.      ARPANET subnet, the second discernible goal must be the
  971.      reliability of the Host-to-Host protocol.  That is, irrespective
  972.      of the properties of the communications subnetworks involved in
  973.      internetting, TCP is to furnish its users--whether they be
  974.      processes interpreting formal protocols or simply processes
  975.      communicating in an ad hoc fashion--with the ability to
  976.      communicate as if their respective containing Hosts were attached
  977.      to the best comm subnet possible (e.g., a hardwired connection).
  978.  
  979.           The mechanizations considered to achieve reliability and
  980.      even those for internetting were alien enough to AH-HP's style,
  981.      though, and the efficiency of several of AH-HP's native
  982.      mechanisms (particularly Flow Control and the notion of a Control
  983.      Link) had been questioned often enough, that a good Host-Host
  984.      protocol could not be a simple extension of AH-HP.  Thus, along
  985.      with the desire for reliability came a necessity to furnish a
  986.      good Host-Host protocol, a
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.                                     15
  994.      RFC 871                                            September 1982
  995.  
  996.  
  997.      design goal easy to overlook.  This is a rather subtle issue in
  998.      that it brings into play a wealth of prior art.  For present
  999.      purposes, in practical terms it means that the "good" ideas
  1000.      (according to the technical intuition of the designers) of
  1001.      AH-HP--such as sockets, logical connections, Well-Known Sockets,
  1002.      and in general the interprocess communication premise--are
  1003.      retained in TCP without much discussion, while the "bad" ideas
  1004.      are equally tacitly jettisoned in favor of ones deemed either
  1005.      more appropriate in their own right or more consistent with the
  1006.      other two goals.
  1007.  
  1008.           It could be argued that other goals are discernible, but the
  1009.      three cited--which may be restated and compressed as a desire to
  1010.      offer a good Host-Host protocol to achieve reliable
  1011.      internetting--are challenging enough, when thought about hard for
  1012.      a few years, to justify a document of even more than this one's
  1013.      length.  What of the implied and/or accepted design constraints,
  1014.      though?
  1015.  
  1016.           The first discernible design constraint borders on the
  1017.      obvious: Just as the original ARPANET popularized
  1018.      packet-switching (and, unfortunately to a lesser extent, resource
  1019.      sharing), its literature popularized the notion of "Layering."
  1020.      Mechanistically, layering is easy to describe:  the control
  1021.      information of a given protocol must be treated strictly as data
  1022.      by the next "lower" protocol (with processes "at the top," and
  1023.      the/a transmission medium "at the bottom"), as discussed earlier.
  1024.      Philosophically, the notion is sufficiently subtle that even
  1025.      today researchers of good will still argue over what "proper"
  1026.      layering implies, also as discussed earlier.  For present
  1027.      purposes, however, it suffices to observe the following:
  1028.      Layering is a useful concept.  The precise set of functions
  1029.      offered by a given layer is open to debate, as is the precise
  1030.      number of layers necessary for a complete protocol suite to
  1031.      achieve resource sharing.  (Most researchers from the ARPANET
  1032.      "world" tend to think of only three layers--the process,
  1033.      applications, or user level; the Host-Host level; and the network
  1034.      level--though if pressed they acknowledge that "the IMPs must
  1035.      have a protocol too."  Adherents of the International Standards
  1036.      Organization's "Open System Interconnection" program--which
  1037.      appears to be how they spell resource sharing--claim that seven
  1038.      is the right number of levels--though if pressed they acknowledge
  1039.      that "one or two of them have sublevels."  And adherents of the
  1040.      Consultative Committee for International Telephony and Telegraphy
  1041.      don't seem particularly concerned with resource sharing to begin
  1042.      with.)  At any rate, TCP and IP are constrained to operate in a
  1043.      (or possibly in more than one) layered protocol hierarchy.
  1044.      Indeed, although it is not the sole reason, this fact is the
  1045.      primary rationale for separating the internetting mechanization
  1046.      into a discrete protocol (the Internet Protocol: IP).  In other
  1047.      words, although designed
  1048.  
  1049.  
  1050.  
  1051.  
  1052.                                     16
  1053.      RFC 871                                            September 1982
  1054.  
  1055.  
  1056.      "for" the ARM, TCP and IP are actually so layered as to be useful
  1057.      even outside the ARM.
  1058.  
  1059.           It should be noted that as a direct consequence of the
  1060.      Layering constraint, TCP must be capable of operating "above" a
  1061.      functionally- equivalent protocol other than IP (e.g., an
  1062.      interface protocol directly into a proximate comm subnet, if
  1063.      internetting is not being done), and IP must be capable of
  1064.      supporting user protocols other than TCP (e.g., a non-reliable
  1065.      "Real-Time" protocol).
  1066.  
  1067.           Resisting the temptation to attempt to do justice to the
  1068.      complexities of Layering, we move on to a second design
  1069.      constraint, which also borders on the obvious:  Only minimal
  1070.      assumptions can be made about the properties of the various
  1071.      communications subnetworks in play.  (The "network" composed of
  1072.      the concatenation of such subnets is sometimes called "a
  1073.      catenet," though more often--and less picturesquely--merely "an
  1074.      internet.")  After all, the main goal is to let processes on
  1075.      Hosts attached to, essentially, "any old (or new) net"
  1076.      communicate, and to limit that communication to processes on
  1077.      Hosts attached to comm subnets that, say, do positive
  1078.      acknowledgments of message delivery would be remiss. [8]
  1079.  
  1080.           Given this constraint, by the way, it is quite natural to
  1081.      see the more clearly Host-to-Host functions vested in TCP and the
  1082.      more clearly Host-to-catenet functions vested in IP.  It is,
  1083.      however, a misconception to believe that IP was designed in the
  1084.      expectation that comm subnets "should" present only the "lowest
  1085.      common denominator" of functionality; rather, IP furnishes TCP
  1086.      with what amounts to an abstraction (some would say a
  1087.      virtualization--in the ARPANET Telnet Protocol sense of
  1088.      virtualizing as meaning mapping from/to a common intermediate
  1089.      representation to/from a given native representation) of the
  1090.      properties of "any" comm subnet including, it should be noted,
  1091.      even one which presents an X.25 interface.  That is, IP allows
  1092.      for the application to a given transmission of whatever generic
  1093.      properties its proximate subnet offers equivalents for; its
  1094.      design neither depends upon nor ignores the presence of any
  1095.      property other than the ability to try to get some packet of bits
  1096.      to some destination, which surely is an irreducible minimum for
  1097.      the functionality of anything one would be willing to call a
  1098.      network.
  1099.  
  1100.           Finally, we take note of a design constraint rarely
  1101.      enunciated in the literature, but still a potent factor in the
  1102.      design process: Probably again stemming from the popularity of
  1103.      the original ARPANET, as manifested in the number of types of
  1104.      Hosts (i.e., operating systems) attached to it, minimal
  1105.      assumptions are made about the nature or even the "power" of the
  1106.      Hosts which could implement TCP/IP.  Clearly, some notion of
  1107.      process is necessary if there is to
  1108.  
  1109.  
  1110.  
  1111.                                     17
  1112.      RFC 871                                            September 1982
  1113.  
  1114.  
  1115.      be interprocess communication, but even here the entire Host
  1116.      might constitute a single process from the perspective of the
  1117.      catenet. Less clearly, but rather importantly, Hosts must either
  1118.      "be able to tell time" or at least be able to "fake" that
  1119.      ability; this is in order to achieve the reliability goal, which
  1120.      leads to a necessity for Hosts to retransmit messages (which may
  1121.      have gotten lost or damaged in the catenet), which in turn leads
  1122.      to a necessity to know when to retransmit.  It should be noted,
  1123.      however, that this does not preclude a (presumably quite modestly
  1124.      endowed) Host's simply going into a controlled loop between
  1125.      transmissions and retransmitting after enough megapasses through
  1126.      the loop have been made--if, of course, the acknowledgment of
  1127.      receipt of the transmission in question has not already arrived
  1128.      "in the meantime."
  1129.  
  1130.           To conclude with a formulation somewhere between the concise
  1131.      and the terse, TCP/IP are to constitute a means for processes on
  1132.      Hosts about which minimal assumptions are made to do reliable
  1133.      interprocess communication in a layered protocol suite over a
  1134.      catenet consisting of communications subnetworks about which
  1135.      minimal assumptions are made.  Though it nearly goes without
  1136.      saying, we would probably be remiss not to conclude by observing
  1137.      that that's a lot harder to do than to say.
  1138.  
  1139.                                  Gateways
  1140.  
  1141.           One other aspect of the ARPANET Reference Model bears
  1142.      separate mention.  Even though it is an exceedingly fine point as
  1143.      to whether it's actually "part" of the Model or merely a sine qua
  1144.      non contextual assumption, the role of Gateways is of
  1145.      considerable importance to the functioning of the Internet
  1146.      Protocol, IP.
  1147.  
  1148.           As noted, the defining characteristic of a Gateway is that
  1149.      it attaches to two or more proximate comm subnets as if it were a
  1150.      Host. That is, from "the network's" point of view, Gateways are
  1151.      not distinguished from Hosts; rather, "normal" traffic will go to
  1152.      them, addressed according to the proximate net's interface
  1153.      protocol. However, the most important property of Gateways is
  1154.      that they interpret a full version of IP which deals with
  1155.      internet routing (Host IP interpreters are permitted to take a
  1156.      static view of routing, sending datagrams which are destined for
  1157.      Hosts not directly attached to the proximate net to a known
  1158.      Gateway, or Gateways, addressed on the proximate net), as well of
  1159.      course, as with fragmentation of datagrams which, although of
  1160.      permissible size on one of their proximate nets, are too large
  1161.      for the next proximate net (which contains either the target Host
  1162.      or still another Gateway).
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.                                     18
  1171.      RFC 871                                            September 1982
  1172.  
  1173.  
  1174.           Aside from their role in routing, another property of
  1175.      Gateways is also of significance:  Gateways do not deal with
  1176.      protocols above IP.  That is, it is an explicit assumption of the
  1177.      ARM that the catenet will be "protocol compatible", in the sense
  1178.      that no attempt will be made to translate or map between
  1179.      dissimilar Host-Host protocols (e.g., TCP and AH-HP) or
  1180.      dissimilar Process-level protocols (e.g., ARPANET FTP and EDN
  1181.      FTP) at the Gateways.  The justifications for this position are
  1182.      somewhat complex; the interested reader is encouraged to see
  1183.      Reference [10].  For present purposes, however, it should suffice
  1184.      to note that the case against translating/mapping Gateways is a
  1185.      sound one, and that, as with the ARMS protocols, the great
  1186.      practical virtue of what are sometimes called "IP Gateways" is
  1187.      that they are in place and running.
  1188.  
  1189.                         "Architectural" Highlights
  1190.  
  1191.           As was implied earlier, one of the problems with viewing a
  1192.      reference model prescriptively rather than descriptively is that
  1193.      the articulation of the model must be more precise than appears
  1194.      to be humanly possible.  That the ISORM, in striving for
  1195.      superhuman precision, fails to achieve it is not grounds for
  1196.      censure.  However, by reaching a degree of apparent precision
  1197.      that has enticed at least some of its readers to attempt to use
  1198.      it in a prescriptive fashion, the ISORM has introduced a number
  1199.      of ambiguities which have been attributed as well to the ARM by
  1200.      relative laymen in intercomputer networking whose initial
  1201.      exposure to the field was the ISORM. Therefore, we conclude this
  1202.      not-very-rigorous paper with a highly informal treatment of
  1203.      various points of confusion stemming from attempting to apply the
  1204.      ISORM to the ARM.
  1205.  
  1206.           (It should be noted, by the way, that one of the most
  1207.      striking ambiguities about the ISORM is just what role X.25 plays
  1208.      in it:  We have been informed by a few ISORMites that X.25 "is"
  1209.      Levels 1-3, and we accepted that as factual until we were told
  1210.      during the review process of the present paper that "that's not
  1211.      what we believe in the U.K."  What follows, then, is predicated
  1212.      on the assumption that the earlier reports were probably but not
  1213.      definitely accurate--and if it turns out to be in time to help
  1214.      prevent ISO from embracing X.25 exclusively by pointing out some
  1215.      of the problems entailed, so much the better.)
  1216.  
  1217.      "Customized Parking Garages"
  1218.  
  1219.           The typical picture of the ISORM shows what looks like two
  1220.      highrises with what looks like two parking garages between them.
  1221.      (That is, seven layers of protocol per "Data Terminal Equipment",
  1222.      three layers per "Data Circuit Terminating Equipment".)  The
  1223.      problem
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.                                     19
  1230.      RFC 871                                            September 1982
  1231.  
  1232.  
  1233.      is that only one "style" of parking garage--i.e., one which
  1234.      presents an X.25 interface--is commonly understood to be
  1235.      available to stand beside an ISORM DTE by those who believe that
  1236.      ISO has adopted X.25 as its L1-3.  In the ARM, on the other hand,
  1237.      no constraints are levied on the Communications Subnetwork
  1238.      Processors.  Thus, satellite communications, "Packet Radios",
  1239.      "Ethernets" and the like are all accommodated by the ARM.
  1240.  
  1241.           Also, the sort of Outboard Processing Environment mentioned
  1242.      earlier in which networking protocols are interpreted on behalf
  1243.      of the Host in a distributed processing fashion is quite
  1244.      comfortably accommodated by the ARM.  This is not to say that one
  1245.      couldn't develop an OPE for/to the ISORM, but rather that doing
  1246.      so does not appear to us to be natural to it, for at least two
  1247.      reasons:  1. The Session Level associates sockets with processes,
  1248.      hence it belongs "inboard".  The Presentation Level involves
  1249.      considerable bit-diddling, hence it belongs "outboard".  The
  1250.      Presentation Level is, unfortunately, above the Session Level.
  1251.      This seems to indicate that outboard processing wasn't taken into
  1252.      account by the formulators of the ISORM.  2. Although some
  1253.      ISORMites have claimed that "X.25 can be used as a Host-Front End
  1254.      Protocol", it doesn't look like one to us, even if the ability to
  1255.      do end-to-end things via what is nominally the Network interface
  1256.      is somewhat suggestive. (Those who believe that you need a
  1257.      protocol as strong as TCP below X.25 to support the virtual
  1258.      circuit illusion might argue that you've actually outboarded the
  1259.      Host-Host layer, but both the X.25 spec and the ISORM appeal to
  1260.      protocols above X.25 for full L II functionality.)  Perhaps, with
  1261.      sufficient ingenuity, one might use X.25 to convey an H-FP, but
  1262.      it seems clear it isn't meant to be one in and of itself.
  1263.  
  1264.      "Plenty of Roads"
  1265.  
  1266.           Based upon several pictures presented at conferences and in
  1267.      articles, DCE's in the X.25-based ISORM appear to many to be
  1268.      required to present X.25 interfaces to each other as well as to
  1269.      their DTE's.  Metaphorically, the parking garages have single
  1270.      bridges between them.  In the ARM, the CSNP-CSNP protocol is
  1271.      explicitly outside the model, thus there can be as many "roads"
  1272.      as needed between the ARM equivalent to ISORM parking garages.
  1273.      This also allays fears about the ability to take advantage of
  1274.      alternate routing in X.25 subnets or in X.75 internets (because
  1275.      both X.25 and X.75 are "hop-by-hop" oriented, and would not seem
  1276.      to allow for alternate routing without revision).
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.                                     20
  1289.      RFC 871                                            September 1982
  1290.  
  1291.  
  1292.      "Multiple Apartments Per Floor"
  1293.  
  1294.           As noted, the ISORM's strictures on inter-entity
  1295.      communication within each "highrise" are equivalent to having to
  1296.      climb downstairs and then back up to visit another apartment on
  1297.      your own floor.  The ARM explicitly expects PI's within a layer
  1298.      to interface directly with one another when appropriate,
  1299.      metaphorically giving the effect of multiple apartments on each
  1300.      floor off a common hallway.  (Also, for those who believe the
  1301.      ISORM implies only one protocol/apartment per layer/story, again
  1302.      the ARM is more flexible.)
  1303.  
  1304.      "Elevators"
  1305.  
  1306.           The ISORM is widely construed as requiring each layer to be
  1307.      traversed on every transmission (although there are rumors of the
  1308.      forthcoming introduction of "null layers"), giving the effect of
  1309.      having to climb all seven stories' worth of stairs every time you
  1310.      enter the highrise.  In the ARM, only Layer I, the Network
  1311.      Interface layer, must be traversed; protocols in Layers II and/or
  1312.      III need not come into play, giving the effect of being able to
  1313.      take an elevator rather than climb the stairs.
  1314.  
  1315.      "Straight Clotheslines"
  1316.  
  1317.           Because they appear to have to go down to L3 for their
  1318.      initiation, the ISORM's Session and Transport connections are, to
  1319.      us, metaphorically tangled clotheslines; the ARM's logical
  1320.      connections are straight (and go from the second floor to the
  1321.      second floor without needing a pole that gets in the way of the
  1322.      folks on the third floor--if that doesn't make a weak metaphor
  1323.      totally feeble.)
  1324.  
  1325.      "Townhouse Styles Available"
  1326.  
  1327.           Should ISORM Level 6 and 7 protocols eventuate which are
  1328.      desirable, the "two-story townhouse style apartments" they
  1329.      represent can be erected on an ARM L I - L II (Network Interface
  1330.      and Host-Host Layers) "foundation".  With some clever carpentry,
  1331.      even ISORM L5 might be cobbled in.
  1332.  
  1333.      "Manned Customs Sheds"
  1334.  
  1335.           Although it's straining the architectural metaphor quite
  1336.      hard, one of the unfortunate implications of the ISORM's failure
  1337.      to address operating system integration issues is that the notion
  1338.      of "Expedited Data" exchanges between "peer entities" might only
  1339.      amount to an SST flight to a foreign land where there's no one on
  1340.      duty at
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.                                     21
  1348.      RFC 871                                            September 1982
  1349.  
  1350.  
  1351.      the Customs Shed (and the door to the rest of the airport is
  1352.      locked from the other side).  By clearly designating the
  1353.      Host-Host (L II) mechanism(s) which are to be used by Layer III
  1354.      (Process-Level/ Applications) protocols to convey "out-of-band
  1355.      signals", the ARM gives the effect of keeping the Customs Sheds
  1356.      manned at all times. (It should be noted, by the way, that we
  1357.      acknowledge the difficulty of addressing system integration
  1358.      issues without biasing the discussion toward particular systems;
  1359.      we feel, however, that not trying to do so is far worse than
  1360.      trying and failing to avoid all parochialism.)
  1361.  
  1362.      "Ready For Immediate Occupancy"
  1363.  
  1364.           The ARM protocol suite has been implemented on a number of
  1365.      different operating systems.  The ISORM protocol suite
  1366.      "officially" offers at most (and not in the U.K., it should be
  1367.      recalled) only the highly constraining functionality of X.25 as
  1368.      L1-L3; L4-L7 are still in the design and agreement processes,
  1369.      after which they must presumably be subjected to stringent
  1370.      checkout in multiple implementations before becoming useful
  1371.      standards.  The metaphorical highrises, then, are years away from
  1372.      being fit for occupancy, even if one is willing to accept the
  1373.      taste of the interior decorators who seem to insist on building
  1374.      in numerous features of dubious utility and making you take fully
  1375.      furnished apartments whether you like it or not; the ARM
  1376.      buildings, on the other hand, offer stoves and refrigerators, but
  1377.      there's plenty of room for your own furniture-- and they're ready
  1378.      for immediate occupancy.
  1379.  
  1380.                                 Conclusion
  1381.  
  1382.           The architectural metaphor might have been overly extended
  1383.      as it was, but it could have been drawn out even further to point
  1384.      up more issues on which the ARM appears to us to be superior to
  1385.      the ISORM, if our primary concern were which is "better".  In
  1386.      fairness, the one issue it omitted which many would take to be in
  1387.      the ISORM's favor is that "vendor support" of interpreters of the
  1388.      ISORM protocols will eventually amount to a desirable
  1389.      "prefabrication", while the building of the ARM PI's is believed
  1390.      to be labor-intensive.  That would indeed be a good point, if it
  1391.      were well-founded. Unfortunately for its proponents, however,
  1392.      close scrutiny of the vendor support idea suggests that it is
  1393.      largely illusory (vide [11]), especially in light of the amount
  1394.      of time it will take for the international standardization
  1395.      process to run its course, and the likelihood that specification
  1396.      ambiguities and optional features will handicap interoperability.
  1397.      Rather than extend the present paper even further, then, it seems
  1398.      fair to conclude that with the possible exception of "vendor
  1399.      support" (with which exception we take
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.                                     22
  1407.      RFC 871                                            September 1982
  1408.  
  1409.  
  1410.      exception, for it should be noted that a number of vendors are
  1411.      already offering support for TCP/IP), the ARPANET Reference Model
  1412.      and the protocols designed in conformance with it are at least
  1413.      worthy of consideration by anybody who's planning to do real
  1414.      inter- computer networking in the next several years--especially
  1415.      if they have operating systems with counterparts on the present
  1416.      ARPANET, so that most if not all of the labor intensive part has
  1417.      been taken care of already--irrespective of one's views on how
  1418.      good the ISORM protocols eventually will be.
  1419.  
  1420.                               Acknowledgments
  1421.  
  1422.           Although it has seldom been more germane to observe that
  1423.      "any remaining shortcomings are the author's responsibility",
  1424.      this paper has benefited tremendously from the close scrutiny and
  1425.      constructive comments of several distinguished members of both
  1426.      the research community and the (DoD) Protocol Standards Technical
  1427.      Panel.  The author is not only extremely grateful to, but is also
  1428.      extremely pleased to acknowledge his indebtedness to the
  1429.      following individuals (cited in alphabetical order):  Mr. Trevor
  1430.      Benjamin, Royal Signals and Radar Establishment (U.K.); Mr.
  1431.      Edward Cain, Chairman of the PSTP; Dr. Vinton Cerf, DARPA/IPTO
  1432.      (at the time this was written); Dr. David Clark, M.I.T.
  1433.      Laboratory for Computer Science (formerly Project MAC); and Dr.
  1434.      Jonathan Postel, U.S.C. Information Sciences Institute.
  1435.      Posterity may or may not thank them for their role in turning an
  1436.      act of personal catharsis into a fair semblance of a "real"
  1437.      paper, but the author emphatically does.
  1438.  
  1439.      Notes and References
  1440.  
  1441.      [1]  It almost goes without saying that the subtheme is certainly
  1442.           not intended to be a definitive statement of the relative
  1443.           merits of the two approaches, although, as will be seen, the
  1444.           ARM comes out ahead, in our view.  But then, the reader
  1445.           might well say, what else should I expect from a paper
  1446.           written by one of the developers of the ARM?  To attempt to
  1447.           dispel thoughts of prejudgment, the author would observe
  1448.           that although he is indeed an Old Network Boy of the
  1449.           ARPANET, he was not a member of the TCP/IP (the keystone of
  1450.           the current ARM) design team, and that he began looking into
  1451.           ARM "vs." ISORM from the position of "a plague on both your
  1452.           houses".  That he has concluded that the differences between
  1453.           TCP/IP-based ARM intercomputer networking and X.25-based
  1454.           ISORM intercomputer networking are like day and night may be
  1455.           taken as indicative of something, but that he also holds
  1456.           that the day is at least partly cloudy and the night is not
  1457.           altogether moonless should at least meliorate fears of
  1458.           prejudice.  That is, of course the
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.                                     23
  1466.      RFC 871                                            September 1982
  1467.  
  1468.  
  1469.           ISORM has its merits and the ARM its demerits neither of
  1470.           which are dealt with here.  But "A Perspective" really means
  1471.           "My Perspective", and the author really is more concerned in
  1472.           this context with exposition of the ARM than with twitting
  1473.           the ISORM, even if he couldn't resist including the
  1474.           comparisons subtheme because of the one-sidedness of the
  1475.           ISORM publicity he has perceived of late.
  1476.  
  1477.      [2]  Source material for this section was primarily drawn from
  1478.           the author's personal experience as a member the NWG and
  1479.           from numerous conversations with Dr. Jonathan B. Postel,
  1480.           long-time Chairman of the NWG and participant in the design
  1481.           meetings prior to the author's involvement.  (See also
  1482.           Acknowledgments.)
  1483.  
  1484.      [3]  Padlipsky, M. A. "The Elements of Networking Style", M81-41,
  1485.           The MITRE Corporation, Bedford, MA, October 1981
  1486.  
  1487.      [4]  Yes, the notion of using "protocols" might well count as an
  1488.           axiom in its own right, but, no, we're not going to pretend
  1489.           to be that rigorous.
  1490.  
  1491.      [5]  That is, about three tenths of the possible span of
  1492.           "Session" functionality, which has to do with making up for
  1493.           the lack of Well-Known Sockets, isn't subsumed by the ARM
  1494.           Process-Level protocols, but the rest is, or could be.
  1495.  
  1496.      [6]  Davidson, J., et al., "The ARPANET Telnet Protocol: Its
  1497.           Purpose, Principles, Implementation, and Impact on Host
  1498.           Operating System Design,"  Proc Fifth Data Communications
  1499.           Symposium, ACM/IEEE, Snowbird, Utah, September, 1977.
  1500.  
  1501.      [7]  See Proceedings of the 1970 SJCC, "Resource Sharing Computer
  1502.           Networks" session, and Proceedings of the 1972 SJCC, "The
  1503.           ARPA Network" session for the standard open literature
  1504.           references to the early ARPANET.  Other source material for
  1505.           this chapter is drawn from the author's personal
  1506.           conversations with TCP/IP's principal developers; see also
  1507.           Acknowledgments.
  1508.  
  1509.      [8]  A strong case can be made for desiring that the comm subnets
  1510.           make a "datagram" (or "connectionless") mode of interface
  1511.           available, based upon the desire to support such
  1512.           functionality as Packetized Speech, broadcast addressing,
  1513.           and mobile subscribers, among other things.  For a more
  1514.           complete description of this point of view, see [9].  For
  1515.           present
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.                                     24
  1525.      RFC 871                                            September 1982
  1526.  
  1527.  
  1528.           purposes, we do not cite the presentation of a datagram mode
  1529.           interface as a design constraint because it is
  1530.           possible--albeit undesirable--to operate IP "on top of" a
  1531.           comm subnet which does not present such an interface.
  1532.  
  1533.      [9]  Cerf, V. G. and R. E. Lyons, "Military Requirements for
  1534.           Packet-Switched Networks and for Their Protocol
  1535.           Standardization" Proc EASCON 1982.
  1536.  
  1537.      [10] Padlipsky, M. A., "Gateways, Architectures and Heffalumps",
  1538.           M82-51, The MITRE Corporation, Bedford, MA, September 1982.
  1539.  
  1540.      [11] ---------- "The Illusion of Vendor Support", M82-49, The
  1541.           MITRE Corporation, Bedford, MA, September 1982.
  1542.  
  1543.      NOTE:  Figure 1: ARM in the Abstract, and Figure 2: ARMS,
  1544.      Somewhat Particularized, may be obtained by writing to:  Mike
  1545.      Padlipsky, MITRE Corporation, P.O. Box 208, Bedford,
  1546.      Massachusetts 01730, or sending computer mail to
  1547.      Padlipsky@USC-ISIA.
  1548.  
  1549.      
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.                                     25